.ant-cover__Button-3d {
  --_shadow-offset: var(--shadow-offset, 1.3);
  --_bg-color: var(--bg-color, #b91b1b);
  --_shadow-color: var(--shadow-color, #8b1414);
  --_inset-shadow-color: var(--inset-shadow-color, #ffffff4d);

  border: none;
  color: #fff;
  background-color: var(--_bg-color);
  box-shadow: 0 calc(3px * var(--_shadow-offset)) 0 0 var(--_shadow-color);
  transition: 70ms;
  transition-timing-function: cubic-bezier(1, 0.17, 0.37, 2);
  font-weight: 600;
  border-radius: 8px;
  margin-bottom: calc(3px * var(--_shadow-offset));

  // > span {
  //   white-space: normal;
  //   overflow: hidden;
  //   display: -webkit-box;
  //   -webkit-box-orient: vertical;
  //   -webkit-line-clamp: 1;
  //   word-break: break-all;
  // }

  &:disabled {
    color: inherit;
    opacity: 0.5;
    filter: grayscale(10%) brightness(80%);
  }

  &.ant-btn-primary:not(:disabled):hover {
    background-color: var(--_bg-color);
  }

  // no-active-motion: 使按钮没有按下动画
  &:not(.no-active-motion) {
    &:hover {
      background-color: var(--_bg-color);

      @media (any-hover: hover) {
        &:not(:disabled, .ant-btn-loading) {
          box-shadow: 0 calc(4px * var(--_shadow-offset)) 0 0 var(--_shadow-color);
          transform: translateY(calc(-1px * var(--_shadow-offset)));
        }
      }
    }

    &:active:not(:disabled, .ant-btn-loading) {
      box-shadow: 0 calc(1px * var(--_shadow-offset)) 0 0 var(--_shadow-color);
      background-color: var(--_bg-color);
      transform: translateY(calc(2px * var(--_shadow-offset)));
    }
  }

  &.ant-btn-loading {
    cursor: wait;
  }

  &.ant-btn-lg {
    --_shadow-offset: 1.5;
  }

  &.ant-btn-sm {
    --_shadow-offset: 1.1;
  }
}

/* CLASS 覆盖 **************************************************************** */
.ant-cover__Button-3d-primary,
.ant-btn.ant-btn-primary.ant-cover__Button-3d-primary {
  @extend .ant-cover__Button-3d;
}

.ant-cover__Button-3d-blue,
.ant-btn.ant-btn-primary.ant-cover__Button-3d-blue {
  @extend .ant-cover__Button-3d;

  --bg-color: #3b82f6;
  --shadow-color: #2f68c5;
}

.ant-cover__Button-3d-green,
.ant-btn.ant-btn-primary.ant-cover__Button-3d-green {
  @extend .ant-cover__Button-3d;

  --bg-color: #16a34a;
  --shadow-color: #12823b;
}

.ant-cover__Button-3d-yellow,
.ant-btn.ant-btn-primary.ant-cover__Button-3d-yellow {
  @extend .ant-cover__Button-3d;

  --bg-color: #f59e0b;
  --shadow-color: #bb7908;
}

.ant-cover__Button-3d-gray,
.ant-btn.ant-btn-primary.ant-cover__Button-3d-gray {
  @extend .ant-cover__Button-3d;

  --bg-color: #3e404c;
  --shadow-color: #363742;
  --inset-shadow-color: rgba(0, 0, 0, 0);
}

/* 全局覆盖 ***************************************************************** */
.ant-btn.ant-btn {
  box-shadow: none;
}
